home *** CD-ROM | disk | FTP | other *** search
/ Freaks Macintosh Archive / Freaks Macintosh Archive.bin / Freaks Macintosh Archives / Macintosh / Development & Resource Tools / ResEdit3.0d.sit / ResEdit™ 3.0 / Plugins / hiobPlugin.rsrc / EDL_128_Resource.hiob next >
Text File  |  1996-04-23  |  20KB  |  672 lines

  1. // ---------------------------------------------------------------------
  2. // HIImageRef
  3. // ---------------------------------------------------------------------
  4. Define (HIImageRef)
  5. {
  6.     CalcBitsU (6, 32);                            // # elements in record
  7.     CalcBitsU (0, 32);                            // Factored data - unused
  8.     
  9.     // image type
  10.     CalcBitsU ('ityp', 32);                        // key
  11.     CalcBitsU ('ityp', 32);                        // type
  12.     CalcBitsU (4, 32);                            // size
  13.     ULong (HIImage_imageType_data); Default ('none');
  14.     
  15.     // data format - always use resource references
  16.     CalcBitsU ('idfm', 32);                        // key
  17.     CalcBitsU ('hidf', 32);                        // type
  18.     CalcBitsU (4, 32);                            // size
  19.     CalcBitsU (0, 32);
  20.  
  21. // note - we have parameters for all the supported image types,
  22. // even many some of them don't make sense for a given
  23. // image type.  This is easier to do in edl since we don't
  24. // have to recalculate the # of elements based on the image type.
  25.  
  26.     // text resource id
  27.     CalcBitsU ('tres', 32);                        // key
  28.     CalcBitsU ('shor', 32);                        // type
  29.     CalcBitsU (2, 32);                            // size
  30.     ResourceRef (HIImage_textResourceID_data, 'txto', 16);
  31.  
  32.     // icon suite resource id
  33.     CalcBitsU ('icid', 32);                        // key
  34.     CalcBitsU ('shor', 32);                        // type
  35.     CalcBitsU (2, 32);                            // size
  36.     ResourceRef (HIImage_iconSuiteID_data, 'icl8', 16);
  37.  
  38.     // icon suite selector
  39.     CalcBitsU ('isel', 32);                        // key
  40.     CalcBitsU ('isel', 32);                        // type
  41.     CalcBitsU (4, 32);                            // size
  42.     ULong (HIImage_iconSelector_data);     Default (4);
  43.     
  44.     // picture resource id
  45.     CalcBitsU ('pict', 32);                        // key
  46.     CalcBitsU ('shor', 32);                        // type
  47.     CalcBitsU (2, 32);                            // size
  48.     UWord (HIImage_pictureResourceID_data);
  49.     
  50. }
  51.  
  52. // ---------------------------------------------------------------------
  53. // HIObject
  54. // ---------------------------------------------------------------------
  55. Define (HIObject)
  56. {
  57.     // Class major version
  58.     CalcBitsU ('mavr', 32);                        // key
  59.     CalcBitsU ('long', 32);                        // type
  60.     CalcBitsU (4, 32);                            // size
  61.     Long (HIObject_majorVersion_data); Default (1);
  62.     
  63.     // Class minor version
  64.     CalcBitsU ('mivr', 32);                        // key
  65.     CalcBitsU ('long', 32);                        // type
  66.     CalcBitsU (4, 32);                            // size
  67.     Long (HIObject_minorVersion_data); Default (0);
  68.  
  69.     // data format - always use resource references
  70.     CalcBitsU ('hidf', 32);                        // key
  71.     CalcBitsU ('hidf', 32);                        // type
  72.     CalcBitsU (4, 32);                            // size
  73.     CalcBitsU (0, 32);
  74.     
  75.     // Bounds
  76.     CalcBitsU ('bnds', 32);                        // key
  77.     CalcBitsU ('qdrt', 32);                        // type
  78.     CalcBitsU (8, 32);                            // size
  79.     Word (HIObject_bounds_top);
  80.     Word (HIObject_bounds_left);
  81.     Word (HIObject_bounds_bottom);
  82.     Word (HIObject_bounds_right);
  83.     
  84.     // Reference Label
  85.     CalcBitsU ('idnt', 32);                        // key
  86.     CalcBitsU ('rflb', 32);                        // type
  87.     CalcBitsU (8, 32);                            // size
  88.     String (HIObject_refLabel_creator, 4);
  89.     String (HIObject_refLabel_id, 4);
  90.     
  91.     // Visible
  92.     CalcBitsU ('visi', 32);                        // key
  93.     CalcBitsU ('bool', 32);                        // type
  94.     CalcBitsU (1, 32);                            // size
  95.     Byte (HIObject_visible_data);
  96.     PadByte;
  97.         
  98.     // Enabled
  99.     CalcBitsU ('enab', 32);                        // key
  100.     CalcBitsU ('bool', 32);                        // type
  101.     CalcBitsU (1, 32);                            // size
  102.     Byte (HIObject_enabled_data);        Default (1);
  103.     PadByte;
  104.     
  105.     // Title
  106.     CalcBitsU ('titl', 32);                        // key
  107.     CalcBitsU ('reco', 32);                        // type
  108.     CalcBitsU ((_HIObject_title_end - _HIObject_title_start) / 8, 32);
  109.     Label (_HIObject_title_start);
  110.     Call (HIImageRef);
  111.     Label (_HIObject_title_end);
  112.  
  113.     // Subclass data
  114.     CalcBitsU ('scls', 32);                // key
  115.     CalcBitsU ('reco', 32);                // type
  116.     CalcBitsU ((_subclassData_end - _HIObject_subclassData_begin) / 8, 32);
  117.  
  118.     Label (_HIObject_subclassData_begin);
  119. }
  120.  
  121. // ---------------------------------------------------------------------
  122. // HIPanel
  123. // ---------------------------------------------------------------------
  124. Define (HIPanel)
  125. {
  126.     Call (HIObject);
  127.     
  128. // Begin HIPanel Data
  129.     CalcBitsU (1, 32);                    // # items in the record
  130.     CalcBitsU (0, 32);                    // Factored data - unused
  131.     
  132.     // subclass data
  133.     CalcBitsU ('scls', 32);                // key
  134.     CalcBitsU ('reco', 32);                // type
  135.     CalcBitsU ((_subclassData_end - _HIPanel_subclassData_begin) / 8, 32);
  136.  
  137.     Label (_HIPanel_subclassData_begin);
  138. }
  139.  
  140. // ---------------------------------------------------------------------
  141. // HIControl
  142. // ---------------------------------------------------------------------
  143. Define (HIControl) 
  144. {
  145.     Call (HIPanel);
  146.     
  147.     CalcBitsU (4, 32);                    // # items in record    
  148.     CalcBitsU (0, 32);                    // Factored data - unused
  149.     
  150.     // Control mimimum
  151.     CalcBitsU ('cmin', 32);                // key
  152.     CalcBitsU ('long', 32);                // type
  153.     CalcBitsU (4, 32);                    // size
  154.     Long (HIControl_minimum_data);    Default (0);
  155.     
  156.     // Control maximum
  157.     CalcBitsU ('cmax', 32);                // key
  158.     CalcBitsU ('long', 32);                // type
  159.     CalcBitsU (4, 32);                    // size
  160.     Long (HIControl_maximum_data);    Default (1);
  161.     
  162.     // Control value
  163.     CalcBitsU ('cval', 32);                // key
  164.     CalcBitsU ('long', 32);                // type
  165.     CalcBitsU (4, 32);                    // size
  166.     Long (HIControl_value_data);        Default (0); 
  167.  
  168.     // subclass data
  169.     CalcBitsU ('scls', 32);                // key
  170.     CalcBitsU ('reco', 32);                // type
  171.     CalcBitsU ((_subclassData_end - _HIControl_subclassData_begin) / 8, 32);
  172.     
  173.     Label (_HIControl_subclassData_begin);
  174. }
  175.  
  176. // ---------------------------------------------------------------------
  177. // HISlider
  178. // ---------------------------------------------------------------------
  179. Define (HISlider)
  180. {
  181.     Call (HIControl);
  182.     
  183.     CalcBitsU (1, 32);                    // # items in record
  184.     CalcBitsU (0, 32);                    // Factored data - unused
  185.  
  186.     // subclass data
  187.     CalcBitsU ('scls', 32);                // key
  188.     CalcBitsU ('reco', 32);                // type
  189.     CalcBitsU ((_subclassData_end - _HISlider_subclassData_begin) / 8, 32);
  190.     
  191.     Label (_HISlider_subclassData_begin);
  192. }
  193.  
  194. // ---------------------------------------------------------------------
  195. // HILittleArrows
  196. // ---------------------------------------------------------------------
  197. Define (HILittleArrows)
  198. {
  199.     Call (HIControl);
  200.     
  201.     CalcBitsU (2, 32);                    // # items in record
  202.     CalcBitsU (0, 32);                    // Factored data - unused
  203.  
  204.     // Arrow Delta
  205.     CalcBitsU ('delt', 32);                // key
  206.     CalcBitsU ('magn', 32);                // type
  207.     CalcBitsU (4, 32);                    // size
  208.     ULong (HILittleArrows_arrowDelta_data);
  209.     
  210.     // subclass data
  211.     CalcBitsU ('scls', 32);                // key
  212.     CalcBitsU ('reco', 32);                // type
  213.     CalcBitsU ((_subclassData_end - _HILittleArrows_subclassData_begin) / 8, 32);
  214.     
  215.     Label (_HILittleArrows_subclassData_begin);
  216. }
  217.  
  218. // ---------------------------------------------------------------------
  219. // HIProgressIndicator
  220. // ---------------------------------------------------------------------
  221. Define (HIProgressIndicator)
  222. {
  223.     Call (HIControl);
  224.     
  225.     CalcBitsU (2, 32);                    // # items in record
  226.     CalcBitsU (0, 32);                    // Factored data - unused
  227.  
  228.     // Progress Indicator behavior
  229.     CalcBitsU ('beha', 32);                // key
  230.     CalcBitsU ('cbeh', 32);                // type
  231.     CalcBitsU (4, 32);                    // size
  232.     ULong (HIProgressIndicator_behavior_data);
  233.     
  234.     // subclass data
  235.     CalcBitsU ('scls', 32);                // key
  236.     CalcBitsU ('reco', 32);                // type
  237.     CalcBitsU ((_subclassData_end - _HIProgressIndicator_subclassData_begin) / 8, 32);
  238.     
  239.     Label (_HIProgressIndicator_subclassData_begin);
  240. }
  241.  
  242. // ---------------------------------------------------------------------
  243. // HIScrollbar
  244. // ---------------------------------------------------------------------
  245. Define (HIScrollbar)
  246. {
  247.     Call (HIControl);
  248.     
  249.     CalcBitsU (3, 32);                    // # items in record
  250.     CalcBitsU (0, 32);                    // Factored data - unused
  251.  
  252.     // Arrow Delta
  253.     CalcBitsU ('adlt', 32);                // key
  254.     CalcBitsU ('magn', 32);                // type
  255.     CalcBitsU (4, 32);                    // size
  256.     ULong (HIScrollbar_arrowDelta_data);
  257.     
  258.     // Page Delta
  259.     CalcBitsU ('pdlt', 32);                // key
  260.     CalcBitsU ('magn', 32);                // type
  261.     CalcBitsU (4, 32);                    // size
  262.     ULong (HIScrollbar_pageDelta_data);
  263.     
  264.     // subclass data
  265.     CalcBitsU ('scls', 32);                // key
  266.     CalcBitsU ('reco', 32);                // type
  267.     CalcBitsU ((_subclassData_end - _HIScrollbar_subclassData_begin) / 8, 32);
  268.     
  269.     Label (_HIScrollbar_subclassData_begin);
  270. }
  271.  
  272. // ---------------------------------------------------------------------
  273. // HIBevelButton
  274. // ---------------------------------------------------------------------
  275. Define (HIBevelButton)
  276. {
  277.     Call (HIControl);
  278.     
  279.     CalcBitsU (2, 32);                    // # items in record
  280.     CalcBitsU (0, 32);                    // Factored data - unused
  281.  
  282.     // Bevel Button behavior
  283.     CalcBitsU ('behv', 32);                // key
  284.     CalcBitsU ('cbeh', 32);                // type
  285.     CalcBitsU (4, 32);                    // size
  286.     Long (HIBevelButton_behavior_data);        
  287.  
  288.     // subclass data
  289.     CalcBitsU ('scls', 32);                // key
  290.     CalcBitsU ('reco', 32);                // type
  291.     CalcBitsU ((_subclassData_end - _HIBevelButton_subclassData_begin) / 8, 32);
  292.     
  293.     Label (_HIBevelButton_subclassData_begin);
  294. }
  295.  
  296. // ---------------------------------------------------------------------
  297. // HIDisclosureTriangle
  298. // ---------------------------------------------------------------------
  299. Define (HIDisclosureTriangle)
  300. {
  301.     Call (HIControl);
  302.     
  303.     CalcBitsU (1, 32);                    // # items in record
  304.     CalcBitsU (0, 32);                    // Factored data - unused
  305.  
  306.     // subclass data
  307.     CalcBitsU ('scls', 32);                // key
  308.     CalcBitsU ('reco', 32);                // type
  309.     CalcBitsU ((_subclassData_end - _HIDisclosureTriangle_subclassData_begin) / 8, 32);
  310.     
  311.     Label (_HIDisclosureTriangle_subclassData_begin);
  312. }
  313.  
  314. // ---------------------------------------------------------------------
  315. // HIPushButton
  316. // ---------------------------------------------------------------------
  317. Define (HIPushButton)
  318. {
  319.     Call (HIControl);
  320.  
  321.     CalcBitsU (2, 32);                    // # items in record
  322.     CalcBitsU (0, 32);                    // Factored data - unused
  323.  
  324.     // Default/Cancel state
  325.     CalcBitsU ('adrn', 32);                // key
  326.     CalcBitsU ('long', 32);                // type
  327.     CalcBitsU (4, 32);                    // size
  328.     Long (HIPushButton_defaultCancelState_data);        
  329.  
  330.     // subclass data
  331.     CalcBitsU ('scls', 32);                // key
  332.     CalcBitsU ('reco', 32);                // type
  333.     CalcBitsU ((_subclassData_end - _HIPushButton_subclassData_begin) / 8, 32);
  334.     
  335.     Label (_HIPushButton_subclassData_begin);
  336. }
  337.  
  338. // ---------------------------------------------------------------------
  339. // HICheckbox
  340. // ---------------------------------------------------------------------
  341. Define (HICheckbox)
  342. {
  343.     Call (HIControl);
  344.  
  345.     CalcBitsU (1, 32);                    // # items in record
  346.     CalcBitsU (0, 32);                    // Factored data - unused
  347.  
  348.     // subclass data
  349.     CalcBitsU ('scls', 32);                // key
  350.     CalcBitsU ('reco', 32);                // type
  351.     CalcBitsU ((_subclassData_end - _HICheckbox_subclassData_begin) / 8, 32);
  352.     
  353.     Label (_HICheckbox_subclassData_begin);
  354. }
  355.  
  356. // ---------------------------------------------------------------------
  357. // HIRadioButton
  358. // ---------------------------------------------------------------------
  359. Define (HIRadioButton)
  360. {
  361.     Call (HIControl);
  362.  
  363.     CalcBitsU (1, 32);                    // # items in record
  364.     CalcBitsU (0, 32);                    // Factored data - unused
  365.  
  366.     // subclass data
  367.     CalcBitsU ('scls', 32);                // key
  368.     CalcBitsU ('reco', 32);                // type
  369.     CalcBitsU ((_subclassData_end - _HIRadioButton_subclassData_begin) / 8, 32);
  370.     
  371.     Label (_HIRadioButton_subclassData_begin);
  372. }
  373.  
  374. // ---------------------------------------------------------------------
  375. // HIIcon
  376. // ---------------------------------------------------------------------
  377. Define (HIIcon)
  378. {
  379.     Call (HIPanel);
  380.     
  381.     CalcBitsU (2, 32);                    // # items in record
  382.     CalcBitsU (0, 32);                    // Factored data - unused
  383.     
  384.     // # icon transform
  385.     CalcBitsU ('tran', 32);                // key
  386.     CalcBitsU ('shor', 32);                // type
  387.     CalcBitsU (2, 32);                    // length
  388.     Word (HIIcon_transform_data);
  389.  
  390.     // subclass data
  391.     CalcBitsU ('scls', 32);                // key
  392.     CalcBitsU ('reco', 32);                // type
  393.     CalcBitsU ((_subclassData_end - _HIIcon_subclassData_begin) / 8, 32);
  394.     
  395.     Label (_HIIcon_subclassData_begin);
  396. }
  397.  
  398. // ---------------------------------------------------------------------
  399. // HIVisualSeparator
  400. // ---------------------------------------------------------------------
  401. Define (HIVisualSeparator)
  402. {
  403.     Call (HIPanel);
  404.  
  405.     CalcBitsU (2, 32);                    // # items in record
  406.     CalcBitsU (0, 32);                    // Factored data - unused
  407.  
  408.     // Separator Type
  409.     CalcBitsU ('vsty', 32);                // key
  410.     CalcBitsU ('vsty', 32);                // type
  411.     CalcBitsU (4, 32);                    // length
  412.     ULong (HIVisualSeparator_separatorType_data);
  413.  
  414.     // subclass data
  415.     CalcBitsU ('scls', 32);                // key
  416.     CalcBitsU ('reco', 32);                // type
  417.     CalcBitsU ((_subclassData_end - _HIVisualSeparator_subclassData_begin) / 8, 32);
  418.     
  419.     Label (_HIVisualSeparator_subclassData_begin);
  420. }
  421.  
  422. // ---------------------------------------------------------------------
  423. // HICaption
  424. // ---------------------------------------------------------------------
  425. Define (HICaption)
  426. {
  427.     Call (HIPanel);
  428.  
  429.     CalcBitsU (1, 32);                    // # items in record
  430.     CalcBitsU (0, 32);                    // Factored data - unused
  431.  
  432.     // subclass data
  433.     CalcBitsU ('scls', 32);                // key
  434.     CalcBitsU ('reco', 32);                // type
  435.     CalcBitsU ((_subclassData_end - _HICaption_subclassData_begin) / 8, 32);
  436.     
  437.     Label (_HICaption_subclassData_begin);
  438. }
  439.  
  440. // ---------------------------------------------------------------------
  441. // HIPicture
  442. // ---------------------------------------------------------------------
  443. Define (HIPicture)
  444. {
  445.     Call (HIPanel);
  446.  
  447.     CalcBitsU (1, 32);                    // # items in record
  448.     CalcBitsU (0, 32);                    // Factored data - unused
  449.  
  450.     // subclass data
  451.     CalcBitsU ('scls', 32);                // key
  452.     CalcBitsU ('reco', 32);                // type
  453.     CalcBitsU ((_subclassData_end - _HIPicture_subclassData_begin) / 8, 32);
  454.     
  455.     Label (_HIPicture_subclassData_begin);
  456. }
  457.  
  458.  
  459. // ---------------------------------------------------------------------
  460. // HIEmbeddingPanel
  461. // ---------------------------------------------------------------------
  462. Define (HIEmbeddingPanel)
  463. {
  464.     Call (HIPanel);
  465.     
  466.     CalcBitsU (3, 32);                    // # items in record
  467.     CalcBitsU (0, 32);                    // Factored data - unused
  468.     
  469.     // # sub panels
  470.     CalcBitsU ('#spn', 32);                // key
  471.     CalcBitsU ('magn', 32);                // type
  472.     CalcBitsU (4, 32);                    // length
  473.     CalcBitsU (Len (HIEmbeddingPanel_subPanels), 32);
  474.  
  475.     // sub panel list - an AEList
  476.     CalcBitsU ('spn#', 32);                // key
  477.     CalcBitsU ('list', 32);                // type
  478.     CalcBitsU ((_HIEmbeddingPanel_subPanelList_end - _HIEmbeddingPanel_subPanelList_begin) / 8, 32);
  479.     Label (_HIEmbeddingPanel_subPanelList_begin);
  480.         
  481.         // # elements in list
  482.         CalcBitsU (Len (HIEmbeddingPanel_subPanels), 32);
  483.         CalcBitsU (0, 32);                // factored data - unused
  484.         List (HIEmbeddingPanel_subPanels, HIEmbeddingPanel_subPanel_type)
  485.             {
  486.             
  487.             // each element in the list is an AERecord...
  488.             CalcBitsU ('reco', 32);        // type
  489.             CalcBitsU ((_HIEmbeddingPanel_subPanelRecord_end - _HIEmbeddingPanel_subPanelRecord_begin) / 8, 32);
  490.             Label (_HIEmbeddingPanel_subPanelRecord_begin);
  491.             
  492.             CalcBitsU (3, 32);            // # elements in record
  493.             CalcBitsU (0, 32);            // factored data - unused
  494.             
  495.             // adoption flags
  496.             CalcBitsU ('adpt', 32);        // key
  497.             CalcBitsU ('long', 32);        // size
  498.             CalcBitsU (4, 32);            // length
  499.             ULong (HIEmbedingPanel_subPanelAdoptionFlags); Default (0x07);
  500.             
  501.             // adoption flags
  502.             CalcBitsU ('frbn', 32);        // key
  503.             CalcBitsU ('long', 32);        // size
  504.             CalcBitsU (4, 32);            // length
  505.             Long (HIEmbedingPanel_subPanelFrameBindingFlags); Default (0x03);
  506.             
  507.             // subPanel resource id
  508.             CalcBitsU ('spnl', 32);        // key
  509.             CalcBitsU ('shor', 32);        // type
  510.             CalcBitsU (2, 32);            // size
  511.             ResourceRef (HIEmbeddingPanel_subPanelResID, 'hiob', 16);
  512.             }
  513.             
  514.     Label (_HIEmbeddingPanel_subPanelList_end);    
  515.  
  516.     // subclass data
  517.     CalcBitsU ('scls', 32);                // key
  518.     CalcBitsU ('reco', 32);                // type
  519.     CalcBitsU ((_subclassData_end - HIEmbeddingPanel_subclassData_begin) / 8, 32);
  520.     
  521.     Label (_HIEmbeddingPanel_subclassData_start);
  522. }
  523.  
  524. // ---------------------------------------------------------------------
  525. // HIRootPanel
  526. // ---------------------------------------------------------------------
  527. Define (HIRootPanel)
  528. {
  529.     Call (HIEmbeddingPanel);
  530.  
  531.     CalcBitsU (1, 32);                    // # items in record
  532.     CalcBitsU (0, 32);                    // Factored data - unused
  533.  
  534.     // subclass data
  535.     CalcBitsU ('scls', 32);                // key
  536.     CalcBitsU ('reco', 32);                // type
  537.     CalcBitsU ((_subclassData_end - _HIRootPanel_subclassData_begin) / 8, 32);
  538.     
  539.     Label (_HIRootPanel_subclassData_begin);
  540. }
  541.  
  542. // ---------------------------------------------------------------------
  543. // HIWindow
  544. // ---------------------------------------------------------------------
  545. Define (HIWindow)
  546. {
  547.     Call (HIObject);
  548.     
  549.     CalcBitsU (5, 32);                    // # items in record
  550.     CalcBitsU (0, 32);                    // Factored data - unused
  551.  
  552.     // window class
  553.     CalcBitsU ('wcls', 32);                // key
  554.     CalcBitsU ('long', 32);                // type
  555.     CalcBitsU (4, 32);                    // length
  556.     ULong (HIWindow_windowClass_data); Default (2);
  557.     
  558.     // window variant
  559.     CalcBitsU ('wvar', 32);                // key
  560.     CalcBitsU ('long', 32);                // type
  561.     CalcBitsU (4, 32);                    // length
  562.     ULong (HIWindow_windowVariant_data);
  563.  
  564.     // window option bits (a whole bunch of them)
  565.     CalcBitsU ('wopt', 32);
  566.     CalcBitsU ('long', 32);                // type
  567.     CalcBitsU (4, 32);                    // length
  568.     PadBits (18);
  569.     Bool (HIWindow_quitOnClose_data, 1);                
  570.     Bool (HIWindow_automaticAlignment_data, 1);
  571.     Bool (HIWindow_wantsBackgroundClicks_data, 1);
  572.     Bool (HIWindow_noActivateEvents_data, 1);
  573.     Bool (HIWindow_noUpdateEvents_data, 1);
  574.     Bool (HIWindow_doNotEraseContent_data, 1);
  575.     Bool (HIWindow_hasCollapse_data, 1);            Default (1);
  576.     Bool (HIWindow_doesTitleIconDrag_data, 1);    Default (1);
  577.     Bool (HIWindow_hasCloseBox_data, 1);            Default (1);
  578.     Bool (HIWindow_hasVerticalZoom_data, 1);        Default (1);
  579.     Bool (HIWindow_hasHorizontalZoom_data, 1);    Default (1);
  580.     Bool (HIWindow_noProcessSwitch_data, 1);
  581.     Bool (HIWindow_isRightToLeft_data, 1);
  582.     Bool (HIWindow_hasGrowBox_data, 1);                Default (1);
  583.     
  584.     // root panel just a resource id for now
  585.     CalcBitsU ('root', 32);                // key
  586.     CalcBitsU ('shor', 32);                // type
  587.     CalcBitsU (2, 32);                    // length
  588.     ResourceRef (HIWindow_rootPanelResID_data, 'hiob', 16);
  589.         
  590.     // subclass data
  591.     CalcBitsU ('scls', 32);                // key
  592.     CalcBitsU ('reco', 32);                // type
  593.     CalcBitsU ((_subclassData_end - _HIWindow_subclassData_begin) / 8, 32);
  594.     
  595.     Label (_HIWindow_subclassData_begin);
  596. }
  597.  
  598. // ---------------------------------------------------------------------
  599. // EDL definition of an HI Object initializer in AEDF
  600. // ---------------------------------------------------------------------
  601. // type of data in the AERecord
  602. CalcBitsU ('reco', 32);
  603.  
  604. // version of the data format
  605. UWord (AEDF_majorVersion); Default (1);
  606. UWord (AEDF_minVersion); Default (1);
  607.  
  608. // # items in the record
  609. ULong (HIObject_numItems); Default (11);
  610.  
  611. // Factored data - unused
  612. CalcBitsU (0,32);
  613.  
  614. // Class Name
  615. CalcBitsU ('clas', 32);                        // key
  616. CalcBitsU ('cnam', 32);                        // type
  617. CalcBitsU ((_HIObject_className_end - _HIObject_className_start) / 8, 32);
  618. Label (_HIObject_className_start);
  619. EvenCString (HIObject_className_data);
  620. Label (_HIObject_className_end);
  621.  
  622. // class id - For DR1, this is how we refer to HIObject class, rather than by name
  623. CalcBitsU ('clid', 32);                        // key
  624. CalcBitsU ('shor', 32);                        // type
  625. CalcBitsU (2, 32);
  626. UWord (HIObject_classID); Default (1);
  627.  
  628. // Start subclass data
  629. Switch (HIObject_classID)
  630.     {
  631.     case 1:
  632.          { Call (HIPushButton); }
  633.     case 2:
  634.          { Call (HICheckbox); }
  635.     case 3:
  636.          { Call (HIRadioButton); }
  637.     case 5:
  638.          { Call (HIVisualSeparator); }
  639.     case 6:
  640.          { Call (HIEmbeddingPanel); }
  641.     case 7:
  642.          { Call (HISlider); }
  643.     case 8:
  644.          { Call (HIBevelButton); }
  645.     case 9:
  646.          { Call (HIDisclosureTriangle); }
  647.     case 10:
  648.          { Call (HILittleArrows); }
  649.     case 12:
  650.          { Call (HIProgressIndicator); }
  651.     case 13:
  652.          { Call (HIScrollbar); }
  653.     case 14:
  654.          { Call (HICaption); }
  655.     case 15:
  656.          { Call (HIPicture); }
  657.     case 16:
  658.          { Call (HIIcon); }
  659.     case 18:
  660.          { Call (HIRootPanel); }
  661.     case 19:
  662.          { Call (HIWindow); }
  663.     }
  664.     
  665. // at the end we'll have an empty record for leaf 
  666. // class's subclass data
  667. CalcBitsU (0, 32);            // no elements in this record
  668. CalcBitsU (0, 32);            // factored data - unused
  669.  
  670. Label (_subclassData_end);
  671.  
  672.